Repository navigation
chore(comps): annotate temp-workaround overlays with metadata - #17973
Tobias Brick (tobiasb-ms) merged 2 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Moves temporary build workarounds into metadata-annotated per-file overlays and temporarily enables supporting azldev functionality.
Changes:
- Migrates inline overlays for eight components into nine overlay files.
- Adds intent and upstream-status metadata.
- Temporarily updates overlay discovery, azldev, and its schema.
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.azldev-version |
Pins metadata-capable azldev. |
external/schemas/azldev.schema.json |
Regenerates the azldev schema. |
base/comps/components.toml |
Enables per-file overlay discovery. |
base/comps/pyOpenSSL/pyOpenSSL.comp.toml |
Removes migrated inline overlays. |
base/comps/pyOpenSSL/overlays/0001-pin-python3-cryptography-45.overlay.toml |
Adds cryptography pin overlays and metadata. |
base/comps/nbdkit/nbdkit.comp.toml |
Removes migrated inline overlays. |
base/comps/nbdkit/overlays/0001-disable-libguestfs-plugin-libguestfs.overlay.toml |
Disables unavailable plugins with metadata. |
base/comps/nbdkit/overlays/0002-disable-mingw-subpackage-ship.overlay.toml |
Disables permanent mingw packaging. |
base/comps/migrate/migrate.comp.toml |
Removes migrated inline overlay. |
base/comps/migrate/overlays/0001-add-missing-jmespath-buildrequires.overlay.toml |
Adds bootstrap dependency workaround. |
base/comps/libnbd/libnbd.comp.toml |
Removes migrated inline overlay. |
base/comps/libnbd/overlays/0001-disable-ocaml-bindings-ocaml.overlay.toml |
Disables incompatible OCaml bindings. |
base/comps/golang-mongodb-mongo-driver/golang-mongodb-mongo-driver.comp.toml |
Removes migrated inline overlay. |
base/comps/golang-mongodb-mongo-driver/overlays/0001-add-missing-transitive-buildrequires.overlay.toml |
Adds missing transitive dependency. |
base/comps/golang-github-prometheus-common/golang-github-prometheus-common.comp.toml |
Removes migrated inline overlay. |
base/comps/golang-github-prometheus-common/overlays/0001-add-missing-jmespath-buildrequires.overlay.toml |
Adds missing bootstrap dependency. |
base/comps/golang-github-envoyproxy-control-plane/golang-github-envoyproxy-control-plane.comp.toml |
Removes migrated inline overlay. |
base/comps/golang-github-envoyproxy-control-plane/overlays/0001-disable-dynamic-buildrequires-generation.overlay.toml |
Disables broken dependency generation. |
base/comps/erlang-rebar3/erlang-rebar3.comp.toml |
Removes migrated inline overlay. |
base/comps/erlang-rebar3/overlays/0001-enable-bootstrap-mode-break.overlay.toml |
Restores temporary bootstrap mode. |
| includes = ["**/*.comp.toml", "component-check-disablement.toml", "component-mingw-disablement.toml", "components-publish-channels.toml"] | ||
|
|
||
| [default-component-config] | ||
| overlay-files = ["overlays/*.overlay.toml"] |
a0a06ba to
21c5047
Compare
| type = "spec-search-replace" | ||
| section = "%generate_buildrequires" | ||
| regex = "%go_generate_buildrequires" | ||
| replacement = "# Disabled: transitive dep on dead golang-github-sagikazarmark-crypt (see comp.toml)" |
| [default-component-config] | ||
| overlay-files = ["overlays/*.overlay.toml"] |
| @@ -1 +1 @@ | |||
| 0256227f5434d9e00d7c8501b16848efa400a72b | |||
| 707663e64a5b07c0690cdc300006974376e6f414 | |||
| "overlay-files": { | ||
| "items": { | ||
| "type": "string" | ||
| }, | ||
| "type": "array", | ||
| "title": "Overlay files", | ||
| "description": "Path or glob patterns (relative to the component config file or matched spec directory) matched against the filesystem to locate per-file overlay documents after component config resolution. Use an empty list to disable inherited overlay-file patterns" | ||
| }, |
21c5047 to
b11e96c
Compare
| type = "spec-search-replace" | ||
| section = "%generate_buildrequires" | ||
| regex = "%go_generate_buildrequires" | ||
| replacement = "# Disabled: transitive dep on dead golang-github-sagikazarmark-crypt (see comp.toml)" |
| [default-component-config] | ||
| overlay-files = ["overlays/*.overlay.toml"] |
| @@ -1 +1 @@ | |||
| 0256227f5434d9e00d7c8501b16848efa400a72b | |||
| 830e6fed79750f8e24ae17cd630248f50c90c8a9 | |||
Mechanically relocate the inline [[components.<name>.overlays]] entries into per-file overlays/*.overlay.toml documents, one logical change per file. The comp.toml files are reduced to their bare [components.<name>] headers. This commit is a pure move: overlay values and apply order are identical before and after, and no [metadata] blocks are added yet (that follows in a separate commit). The rendered specs are unchanged.
Add the file-level [metadata] block to each per-file overlay document (category, upstream-status, and commit references where applicable). Metadata is documentation only and is excluded from the component fingerprint, so the rendered specs are unchanged.
b11e96c to
7d82400
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.
Suppressed comments (2)
base/comps/golang-github-envoyproxy-control-plane/overlays/0001-disable-dynamic-buildrequires-generation.overlay.toml:17
- The rationale was moved out of
comp.toml, so the generated spec now tells readers to consult a file that no longer contains it. Remove the stale parenthetical (the overlay description already states the reason).
replacement = "# Disabled: transitive dep on dead golang-github-sagikazarmark-crypt (see comp.toml)"
base/comps/pyOpenSSL/overlays/0001-pin-python3-cryptography-45.overlay.toml:5
- This document does not pin pyOpenSSL to 25.1.0; that pin is the
upstream-commitinpyOpenSSL.comp.toml. Moving the explanation here leaves the actual spec pin without its required rationale and misleadingly attributes it to these BuildRequires overlays. Keep the version-pin explanation besidespec, and limit this file's comment to why the cryptography bounds are added.
# Pin to 25.1.0 because 25.2.0+ requires cryptography >= 45.0.7, but we ship
# python-cryptography 45.0.4 (pinned because 46.x needs crate(asn1) >= 0.22.0,
# not yet available). 25.1.0 requires cryptography >= 41.0.5, < 46 which is
# compatible with our 45.0.4.
# Re-align to latest when python-cryptography is updated to >= 45.0.7.
|
/azp run |
Tobias Brick (tobiasb-ms)
left a comment
There was a problem hiding this comment.
Spot-checked everything, and generated before/after component list json files. Validated with Copilot that the only differences are the metadata being added.
Summary
This PR adds per-file overlays (
overlays/*.overlay.toml) carrying file-level[metadata](category+upstream-status) for a set of temporary bootstrap / version-pin workarounds.The workarounds fall into two buckets:
category = "azl-temp-workaround",upstream-status = "inapplicable") — missing transitiveBuildRequiresand disabledbindings/plugins caused by bootstrap-mode builds stripping
golang(...)/auto-generated
Requires, or by OCaml/libguestfs not yet being buildable inthe bootstrap tag:
erlang-rebar3,golang-github-prometheus-common,golang-mongodb-mongo-driver,libnbd,migrate,nbdkit(0001),pyOpenSSL.golang-github-envoyproxy-control-planedisables dynamic
BuildRequiresgeneration due to the deadgolang-github-sagikazarmark-crypttransitive dep.nbdkit(0002) disables the mingw subpackage(
category = "azl-pruning",upstream-status = "needs-upstream-hook"); AZLnever ships mingw toolchains.
Changes
Three commits, deliberately kept separate so the two scaffolding pieces can be
dropped independently before merge:
chore(comps): annotate temp-workaround overlays with metadataAdds the per-file overlays with file-level
[metadata]and moves therationale comments out of the
comp.tomlfiles into their overlay files.TEMP: enable overlay-files loading for PR check—REVERT BEFORE MERGE
Sets
default-component-config.overlay-files = ["overlays/*.overlay.toml"]in
components.tomlso every component inherits per-file overlay discovery.Standalone so it can be reverted independently.
chore(azldev): pin to 830e6fed and regenerate schema—ONLY, REVERT BEFORE MERGE
Pins
.azldev-versionto830e6fed79750f8e24ae17cd630248f50c90c8a9(upstream-backportoverlay category, URLRef replacing BugRef, required
upstream-statusreplacing theold
upstreamableboolean,azl-dep-missing-workaround→azl-temp-workaroundrename, and optional component-group
[metadata]) and regeneratesexternal/schemas/azldev.schema.jsonso PR checks run against a tool thatunderstands the
overlay-files/metadatafields.Validation
azldev comp renderin the PR check pendingazl-temp-workaroundcategory is present in the pinned tool's schema).
metadatais fingerprint-excluded, so lock files are unaffected.